package com.cn.wanxi.util.service;

import com.cn.wanxi.util.dao.NavDao;
import com.cn.wanxi.util.model.NavModel;
import com.cn.wanxi.util.util.IOTool;
import com.cn.wanxi.util.util.MyPath;
import com.cn.wanxi.util.util.Tool;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class NavService {

    //        数组的定义--方式？ 动态定义  静态定义
    public NavModel[] getNavModels() {
        //定义了一个有6个元素的数组，里面的数据为空
        NavModel[] navModels = new NavModel[6];

        NavDao navDao = new NavDao();
// 想要拿到数组里面的值  需要进行遍历
//        for (int i = 0; i < navDao.getHrefs().length; i++) {
//            NavModel navModel = new NavModel();
//            navModel.setHref(navDao.getHrefs()[i]);
//            navModel.setTitle(navDao.getTitles()[i]);
//            navModels[i] = navModel;
//        }
//        navModels[0] = navModel;
//        navModels[1] = navModel;
//        navModels[2] = navModel;
//        navModels[3] = navModel;
//        navModels[4] = navModel;
//        navModels[5] = navModel;

        return navModels;
    }


    public List<NavModel> getNavModelList() {

        //        1.创建文件---》创建文件夹

//        IOTool.createNote(fileName);
//        写入数据
        IOTool.writeNote(MyPath.FILE_NAV.getPath(), setNavData());
//        String path="E:\\wanxi\\step-three\\canyin03-0119\\web\\note/";
        String result = IOTool.readNote();
        return setData(result);

    }

    private List<NavModel> setData(String result) {
        String[] results = result.split(MyPath.SPLIT.getPath());
        List<NavModel> list = new ArrayList<>();
        String href = results[0];
        String title = results[1];
        String[] aa = href.split(",");
        String[] bb = title.split(",");
        List<String> hrefs = new ArrayList<>();
        List<String> titles = new ArrayList<>();
        for (int i = 0; i < aa.length; i++) {
//            replace替换  左边的是替换的目标，右边的是替换的值
//            String b = aa[i].replace("[", "");
//            String c = b.replace(" ", "");
//            String d = c.replace("]", "");
//            如果一个项目里面有很多地方都要去调用某一个方法，那么可以设置为静态方法
//            类名.方法名
            hrefs.add(Tool.replace(aa[i]));
//            链式调用
            titles.add(Tool.replace(bb[i]));
        }
        for (int i = 0; i < hrefs.size(); i++) {
            NavModel navModel = new NavModel();
            navModel.setHref(hrefs.get(i));
            navModel.setTitle(titles.get(i));
            list.add(navModel);
        }
        return list;
    }


    public static void main(String[] args) {
        new NavService().getNavModelList();
    }

    private List<String> setNavData() {
        List<String> list = new ArrayList<>();
        NavDao navDao = new NavDao();
        list.add(navDao.getHrefs().toString());
        list.add(navDao.getTitles().toString());
        return list;
    }


}
